﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using VemTransporte.Models.Basica;
using NHibernate;

namespace VemTransporte.Models.Persistencia
{
    public class RepVeiculo: GenericNHibernateDAO<Veiculo, int>
    {

        private static readonly object locker = new object();

        public Veiculo ProcurarVeiculoPorPlaca(string placa)
        {
            Veiculo retorno = null;

            try
            {
                lock (locker)
                {
                    IQuery query = Session.CreateQuery("from Veiculo where VEI_Placa=:placa").SetString("placa", placa);

                    retorno = query.UniqueResult<Veiculo>();
                }
            }
            catch(Exception ex)
            {
                throw new Exception("Erro ao tentar procurar veículo por placa! Contate o administrador do site. " + ex.Message);
            }

            return retorno;
        }
    }
}